require_relative 'report_base.rb'

class Report

  attr_reader :report_base
  attr_accessor :new_base_class

  def initialize report_base, new_base_class
    @report_base = report_base
    @new_base_class = new_base_class
  end

  def generate_report
    output_start
    output_head
    output_body_start
    output_body
    output_body_end
    output_end
  end

  def output_start
    @new_base_class.output_start
  end

  def output_head
    @new_base_class.output_head
  end

  def output_body_start
    @new_base_class.output_body_start
  end

  def output_body
    @new_base_class.output_body
  end

  def output_body_end
    @new_base_class.output_body_end
  end

  def output_end
    @new_base_class.output_end
  end

end